import java.io.File;
import java.util.Scanner;

public class Demo10 {
    //扫描指定⽬录，并找到名称中包含指定字符的所有普通⽂件（不包含⽬录），并且后续询问⽤⼾是否
    //要删除该⽂件
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入要搜索的目录：");
        String path = scanner.next();
        File rootFile = new File(path);
        if (!rootFile.isDirectory()){
            System.out.println("输入的不是目录");
            return;
        }
        System.out.println("请输入要删除关键字：");
        String keyword = scanner.next();

        scanFile(rootFile,keyword);
    }

    private static void scanFile(File rootFile, String keyword) {
        //1.列出当前目录里的所有文件
        File[] files = rootFile.listFiles();
        if (files == null){
            //目录为空
            return;
        }
        //2.遍历当前目录的文件
        for (File file: files) {
            //3.判断当前文件是目录还是普通文件
            if (file.isFile()){
                //4.如果是普通文件，则判断文件名是否包含关键字
                delFile(file,keyword);
            }else {
                //5.如果是目录，则递归调用本方法
                scanFile(file,keyword);
            }
        }

    }

    private static void delFile(File file, String keyword) {
        if (file.getName().contains(keyword)){
            System.out.println("发现文件： " + file.getAbsoluteFile());
            Scanner scanner = new Scanner(System.in);
            System.out.println("是否要删除该文件（Y/N）");
            String input = scanner.next();
            if (input.equalsIgnoreCase("Y")){
                file.delete();
                System.out.println("文件已删除！");
            }
        }
    }
}
